var combine = function (n, k) {
  // const ans = []
  // const ds = function (arr, index) {
  //   if (arr.length === k) {
  //     ans.push(arr)
  //     return
  //   }
  //   for (var i = index; i <= n; i++) {
  //     arr.push(i)
  //     ds([...arr], i + 1)
  //     arr.pop(i)
  //   }
  // }
  // ds([], 1)
  // return ans
  const ans = []
  const dfs = (temp,n,k,cur) => {
    if(temp.length===k) {
      ans.push(temp)
      return
    }
    // if(temp.length + (n-cur)<k) return
    if(cur>n) return
    dfs([...temp,cur],n,k,cur+1)
    dfs([...temp],n,k,cur+1)
  }
  dfs([],n,k,1)
  return ans
}